import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router'
import store from './store'
import PanelHead from './components/panelHead.vue'
//刷新后的动态路由添加
const localData = localStorage.getItem('pz_v3pz')
if (localData) {
    // 动态路由添加
    store.commit('dynamicMenu', JSON.parse(localData).menu.routerList)
    // 动态路由添加 路由守卫 添加
    store.state.menu.routerList.forEach(item => {
        router.addRoute('main', item);
    })
}
// element-plus 图标
// 如果您正在使用CDN引入，请删除下面一行。
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

// 用户鉴权和路由守卫。
// to: 当前导航。
// from: 上一个导航。
router.beforeEach((to, from) => {
    const token = localStorage.getItem('pz_token')
    // 非登录页面，token 不存在，跳转到登录页面
    if (!token && to.path !== '/login') {
        return '/login';
    }
    // 登录页面，token 存在，跳转到首页
    if (token && to.path === '/login') {
        return '/'
    }
    return true;

})




// createApp(App).mount('#app')
const app = createApp(App)
// 注册全局组件
app.component('PanelHead', PanelHead)
app.use(router)
app.use(store)
app.mount('#app')

// element-plus 图标 注册 使用
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}
